Skip to content

feat(release): version command, checksums, install script#67

Merged
EngineerProjects merged 4 commits into
mainfrom
dev
Jun 22, 2026
Merged

feat(release): version command, checksums, install script#67
EngineerProjects merged 4 commits into
mainfrom
dev

Conversation

@EngineerProjects

Copy link
Copy Markdown
Owner

Summary

  • seshat version / --version / -v — prints the build-time version (injected via ldflags, defaults to dev)
  • release.yml — adds SHA256SUMS.txt generation step before publishing to GitHub Releases
  • scripts/install.sh — one-liner installer: detects OS/arch, downloads the correct binary, verifies SHA256, installs to ~/.local/bin

Usage after merge + tag

# Install latest release
curl -fsSL https://raw.githubusercontent.com/EngineerProjects/seshat/main/scripts/install.sh | bash

# Or pin a version
VERSION=v0.1.0 bash <(curl -fsSL https://raw.githubusercontent.com/EngineerProjects/seshat/main/scripts/install.sh)

# Check version
seshat version

Test plan

  • CI Gate green
  • seshat version prints dev on local build
  • Release workflow triggers on v* tag and produces binaries + SHA256SUMS.txt

- cmd/cli: add var version (set by ldflags at build time, default 'dev')
- cmd/cli: add 'seshat version' / '--version' / '-v' subcommand
- release.yml: split 'release' job → 'build' for clarity; add SHA256SUMS.txt step
- scripts/install.sh: curl-based installer — detects OS/arch, downloads
  correct binary from GitHub Releases, verifies SHA256, installs to
  ~/.local/bin (override with INSTALL_DIR=); warns if not in PATH
scripts/install.sh now covers the complete user setup:
- Detect OS/arch, download binary, verify SHA256
- Install to ~/.local/bin (or $INSTALL_DIR)
- Detect bash/zsh/fish and add PATH export to the right profile
- Install uv if not present (via official installer)
- Create Python venv + install docling-serve in $RUNTIME_ROOT/.venv
- DB and runtime paths are created automatically on first 'seshat' run
- NO_PYTHON=1 skips the uv/docling step (minimal install)
- DOCLING_EXTRAS=gpu / PYTHON_VERSION=3.12 for customisation

Developer path (no installer needed):
  go install github.com/EngineerProjects/seshat/cmd/cli@latest
  go get     github.com/EngineerProjects/seshat@latest
- cmd/cli/setup.go: new 'seshat setup' subcommand
    - 'seshat setup'           installs uv (if missing) + creates venv + installs docling-serve
    - 'seshat setup --check'   reports what is installed without changing anything
    - 'seshat setup --python'  custom Python version (default 3.11)
    - 'seshat setup --extras'  pip extras e.g. gpu
- root.go: dispatch 'setup', add it to printUsage
- scripts/install.sh: replace inline uv/docling logic with '$seshat setup'
  so the setup logic lives in one place and both install paths are consistent:
    curl | bash          -> binary install + seshat setup (automatic)
    go install ...       -> binary only, then: seshat setup (on demand)
…t setup

- Replace 'coming soon' binaries section with actual install instructions
- Lead Quick Start with curl installer (end-user path)
- CLI section: show both curl and go install paths side by side
- Add seshat setup / setup --check to CLI command reference
- Development section: clarify build-from-source vs runtime setup
- Add seshat setup section explaining --check / --python / --extras flags
- Add make clean / clean-runtime / clean-all to daily commands
@EngineerProjects EngineerProjects merged commit e072a48 into main Jun 22, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant